Coursera week6
Evaluating a Hypothesis(学習モデルの評価)
Cross Validation(交差検証)
最も有名なモデルの検証方法の1つが、交差検定 (Cross Validation)です。データをトレーニングセットとテストセットに分割し、トレーニングセットのデータを用いてモデルパラメーターを学習させます。そうしてできたモデルを、テストセットにあてはめてみて、どれだけエラーが出てくるか調べます。分割比は、$ Training:Test=70:30 が一般的です。
https://gyazo.com/f3c9f986148286d53d507912d754e512
ただ、このようにすると、モデルがあまり良くなかった場合に調整することが難しいです。なぜなら、テストデータを参考に調整して、その結果が良くなるのは当然で、新しいデータが入ってきた場合には精度が高くなるとは限りません。
そこで、このように、$ Training:CV:Test=60:20:20 とします。
https://gyazo.com/5ef04bb2e2b948ce152b29db222bfebb
次の手順で、モデルの一般化エラーをより正しく推定することができます。
①Training Setを使ってパラメーターを見つけ、モデルを作る
②そのモデルの精度を、Cross Validation Setを使って確かめる
③モデル精度が悪ければ、Cross Validation Setでの精度が上がるようモデルを作り直す
④最終的にできたモデルをTest Setに適用し、一般化エラー (Generalization Error) を推定する
あくまでモデルパラメーターΘΘを見つけるのはTraining Setで行います。Cross Validation SetとTest Setは学習に全く関与しません。Cross Validation SetとTest Setの違いは、Cross Validation Setにおける精度を上げるようにモデルを作り変えることは許されているけれども、Test Setは最終的にできたモデルの精度を確認するだけで、その精度を上げるようにモデルを作り変えることは許されていないことです。
Bias & Variance (バイアスとバリアンス)
Bias
学習モデルの期待値と真のモデルの差
偏りのこと
Variance
各推定結果の分散
High Bias
そのモデルはアンダーフィットしています。
Training Set, Cross Validation Set, Test Setいずれも高いエラーを示します。
High Variance
そのモデルはオーバーフィットしています。
Training Setでは小さなエラーですが、Cross Validation, Test Setでは大きなエラーを示します。
https://gyazo.com/89f169242e9385b400b843462d31d5f2
High Bias(アンダーフィット)を改善する
多項変数 ($ x^2_1, x^3_1, x_1, x_2 など)を追加する
別の説明変数$ x (feature)を探す
正規化パラメーター$ \lambda を小さくする
High Variance(オーバーフィット)を改善する
トレーニングデータ数を増やす
説明変数$ x (feature)を減らす
正規化パラメーター$ \lambda を大きくする
下の図は、正規化パラメーター$ \lambda を調整する場合の例です。$ \lambda が増加するにつれて、フィット感がより強くなることがわかります。 一方、$ \lambda が0に近づくにつれて、オーバーフィットする傾向があります。 そのため、ちょうどいい$ \lambda を選択する必要があります。
https://gyazo.com/2642ea3b881c63bc445d215afe45aab8
また、下の図は、トレーニングデータ数を調整する場合の例です。レーニングデータ数を増やすと、誤差が大きくなります(色んな値を取るようになるため)。そのため、オーバーフィットしている場合に限り、トレーニングデータ数を増やすという方法が有効です。
https://gyazo.com/c9c651cdfe332fbc306cddb518048deahttps://gyazo.com/d4f0f854f6e9e091087935605086aa6e
Precision & Recall(適合率と再現率)
https://gyazo.com/37273379efa06f59347c811f8cf1ab60
適合率PP と再現率RR のバランスを定量化したものがF値 (F score)です。
https://gyazo.com/e56c8cbbcda6362a72b510ccb759c407